-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Less unsafeCoerce #322
Less unsafeCoerce #322
Conversation
Big question: how should I name the |
@Ericson2314 I was quite unable to get anything good out of the manual |
017ac4c
to
cde1b93
Compare
@treeowl I think you forget to add the RIO module. OTOH I think there might be another way around the |
@Ericson2314 Whoops, fixed that. The only way I see around |
@treeowl Yeah and also if other roles depend on |
Wait, what? I see exposed-modules: Control.Monad.RIO, and I see an import
of that module, but I don't see that module itself.
…On Tue, 9 Jul 2019 at 16:05, John Ericson ***@***.***> wrote:
@treeowl <https://github.com/treeowl> Yeah and also if other roles depend
on BehaviorM their's no opportunity to provide your own coercion to prove
a non-nominal role.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#322?email_source=notifications&email_token=ABVVE3ANDXYYPK57U4NFB3LP6TVQZA5CNFSM4H7IQHBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZRL3MQ#issuecomment-509787570>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABVVE3ALJRJ65TME5ZBRQX3P6TVQZANCNFSM4H7IQHBA>
.
|
cde1b93
to
40f47a3
Compare
Oh crud. Yeah, I forgot to push. Actually fixed now, I believe! |
To avoid confusion with https://github.com/commercialhaskell/rio/blob/10d0bd8c6b03035504c5c086dc90ad85cdb0b914/rio/src/RIO/Prelude/RIO.hs#L38, I think it would be better for us to choose an uglier name for our reader-over-IO. In particular, our goals are pretty different: RIO is aimed at improving the elegance of user code, whereas this reader-over-IO is simply a hack around the role system's inability to express quite the right thing. Given that one can't be substituted for the other (RIO doesn't fix the role issue, and this thing doesn't help with any of RIO's goals), I think it would be better to use a different, uglier name. I'd propose |
6533521
to
01564ce
Compare
Remove most uses of `unsafeCoerce`. Most of the rest are taken care of in my `mergeG` pull request.
01564ce
to
d8d7897
Compare
@ryantrinkle I've renamed the module and type as you requested. |
* 'release/0.6.2.3' of github.com:reflex-frp/reflex: (34 commits) v0.6.2.3 - Add an upper-bound to witherable Use align (a merge) instead of coincidence for <.> (#346) Allow witherable ==0.3.* Use haskell-ci regenerate Update .travis.yml Add freeze file to avoid text 1.2.4.0 duplicate instances (#347) default.nix: Add missing profunctors dep Use xenial and manually install node 8 for ghcjs Fix merges (#340) contributing: add note on dependency ver bounds travis-ci: Add ghcjs to allowed failures list bc of travis time limit Less unsafeCoerce (#322) travis: disable benchmarks changelog: document v0.6.2.2 ci: Fix travis config cabal: Avoid hlint 2.1.* cabal: Limit witherable version ci: Remove cabal.project.local before building hlint: More linting cabal: remove some version bounds ...
This reverts commit 5e037c0.
Get rid of most unnecessary uses of
unsafeCoerce
. Several of the ones that remain are removed by #320.